package cn.lcsjsxy.yxc.incommonuse.String;

import org.junit.jupiter.api.Test;

public class StringTest2 {
    /*
    * 结论：
    * 1.常量与常量的拼接结果在常量池。且常量池中不会存在相同内容的常量
    * 2.只要其中有一个是变量，结果就在堆中
    * */
    @Test
    public void test3(){
        String s1="javaEE";
        String s2="hadoop";
        String s3="javaEEhadoop";
        String s4="javaEE"+"hadoop";
        String s5=s1+"hadoop";
        String s6="javaEE"+s2;
        String s7=s1+s2;
        //有变量参与就相当于new，结果地址在堆空间了

        System.out.println(s3==s4);  //true
        System.out.println(s3==s5);  //false
        System.out.println(s3==s6);  //false
        System.out.println(s3==s7);  //false
        System.out.println(s5==s6);  //false
        System.out.println(s5==s7);  //false

        String s8=s5.intern();//返回值得到的s8使用的常量池中已经存在的
        System.out.println(s3==s8);//true
    }
}
